package com.alibaba.citrus.cr.order;

import com.alibaba.halo.sandbox.app.annotation.AppEntry;
import com.alibaba.halo.sandbox.epoch.dev.SandboxApplication;
import com.alibaba.lattice2.epoch.EpochSandboxAppEntry;

import javax.annotation.Nonnull;
import java.util.ArrayList;
import java.util.List;

/**
 * 应用启动类
 *
 * @author luxiu
 * @date 2021/08/17
 */
@AppEntry(
        code = "bc_order,cr_forecast_sales,cr_unified_inventory,cr_price_center,cr_b2b_trade_center,cr_platform_enhance,mn_order_center,mn_inventory_center"
)
public class OtsApp extends EpochSandboxAppEntry {

    /**
     * 本地开发直接运行main方法
     * <ul>
     * <li>连接地址通过命令行工具管理（epoch configure）</li>
     * <li>可以通过 -Depoch.profile=${profile} 指定不同的配置</li>
     * <li>默认只有当前用户会访问到本地，可以通过 -Depoch.dev.users=CZ_275025002469910455
     *     指定用户请求访问到本地，逗号分割，*表示所有用户</li>
     * <li>如果需要用到多线程，需要增加 -javaagent:transmittable-thread-local-*.*.*.jar
     *     (https://github.com/alibaba/transmittable-thread-local)</li>
     * </ul>
     */
    public static void main(String[] args) {
        SandboxApplication.run(OtsApp.class);
    }

    @Nonnull
    @Override
    protected List<String> getBasePackages() {
        List<String> basePackages = new ArrayList();
        basePackages.add(this.getClass().getPackage().getName());
//        basePackages.add("com.epoch.app.otsapplicationadaptersdk");
        basePackages.add("com.alibaba.citrus.cr");
        return basePackages;
    }

}
